package com.itheima.jobs;

import com.itheima.constant.RedisConstant;
import com.itheima.utils.QiniuUtil;
import org.springframework.beans.factory.annotation.Autowired;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

import java.util.Iterator;
import java.util.Set;

/**
 * @description:
 * @author: dalao
 * @date: 2020/4/9-17:56
 * @Version: 1.0.0
 */
public class ClearImgJob {

    @Autowired
    private JedisPool jedisPool;

    public void clearImg(){
        Jedis jedis =null;
        try{
            jedis= jedisPool.getResource();
//        获取两个集合的差值, 差值就是垃圾图片的名称
        Set<String> set = jedis.sdiff(RedisConstant.SETMEAL_PIC_RESOURCES, RedisConstant.SETMEAL_PIC_DB_RESOURCES);
//        获取集合的迭代器
        Iterator<String> iterator = set.iterator();
//        今天迭代
        while(iterator.hasNext()){
//            获取下一个图片名称
            String fileName = iterator.next();
//            调用工具类从七牛云删除
            QiniuUtil.delete(fileName);
//            删除redis中的文件
            jedis.srem(RedisConstant.SETMEAL_PIC_RESOURCES,fileName);
            }
        }catch (Exception e){

        }finally {
//            关流
            jedis.close();
        }

    }
}
